from mcp.server.fastmcp import FastMCP

# 创建MCP服务器
mcp = FastMCP("Calculator Server")

@mcp.tool()
def add(a: float, b: float) -> float:
    """执行加法运算"""
    return a + b

@mcp.tool()
def subtract(a: float, b: float) -> float:
    """执行减法运算"""
    return a - b

@mcp.tool()
def multiply(a: float, b: float) -> float:
    """执行乘法运算"""
    return a * b

@mcp.tool()
def divide(a: float, b: float) -> float:
    """执行除法运算"""
    if b == 0:
        raise ValueError("除数不能为零")
    return a / b

@mcp.tool()
def sqrt(x: float) -> float:
    """执行开方运算"""
    if x < 0:
        raise ValueError("不能对负数开方")
    return x ** 0.5

@mcp.tool()
def power(base: float, exponent: float) -> float:
    """执行幂运算"""
    return base ** exponent

if __name__ == "__main__":
    mcp.run(transport="stdio")